1. Technical Field
The present disclosure relates to the control of the playing speed of a compressed digital video sequence, such as an MPEG-2 or MPEG-4 format type sequence.
2. Description of the Related Art
The compression of a digital video sequence takes advantage of spatial and/or temporal information redundancy. Compressed video sequences generally comprise independent frames and dependant frames. An independent frame may be coded or decoded by using only the information from the frame itself. On the contrary, a dependant frame is coded or decoded by using the information from one or more other frames of the video sequence. In certain digital video compression formats, such as MPEG-2 and MPEG-4, the video sequence frames are organized in groups of frames with identical structures, comprising independent I-type frames, dependant P-type reference frames, and dependant B-type non-reference frames. An I-type frame is compressed by taking advantage of internal spatial redundancies of frame image blocks. Dependant P-type frames are formed by image blocks coded from a preceding I- or P-type frame in the group of frames. The B-type frames are formed from image blocks coded from a preceding or a following I- or P-type frame in the group of frames.
A video sequence may be played not only at a nominal speed, but also at other speeds that may be quicker or slower, or even negative if the sequence is played in reverse (in the reverse order of the filming). The playing of a video sequence at a speed other than the nominal speed is called “Trickmode”. In this mode, various quality criteria may be defined. A speed precision criteria determines whether a speed set point is correctly attained. The speed precision may be measured by comparing the time passed and the duration to the nominal speed of the sequence played. A display fluidity criteria is relative to the loading rate of the displayed frames. Another criteria linked to the regularity of this loading rate is given by the variance of the loading rate per time unit. Another criteria is linked to the temporal distribution of displayed frames in a video sequence and may be measured by the variance of the loading rate per video sequence frame. Some of these criteria may be contradictory, such that a treatment optimization of a video sequence aiming to satisfy one or more criteria is only possible at the expense of one or more other criteria. It thus would be desirable to be able to choose upon the basis of which criteria this treatment is to be optimized for.
In general, a video sequence playing apparatus comprises a decoder that receives frames of a video sequence to decode. The decoder decodes all the received frames and increments a decoded frame counter each time a frame is decoded. As soon as the counter goes to 1, a decoded frame is transmitted to a display control device at a frame frequency. Each time that a frame is transmitted to the display control device, the frame counter is decremented. If the counter reaches 0, this signifies that the decoder is not able to decode all the frames at the frame frequency, and the display control device duplicates the last decoded frame. Moreover, to make up its delay, the decoder goes into a degraded mode wherein certain frames are not decoded. The non-decoded frames are chosen from the B-type frames first, then from the P-type frames, and finally from the I-type frames. It results that the distribution of displayed frames is not controlled, often resulting in oscillation effects on the video sequence playing speed.
Moreover, if the video sequence playing speed is modified while the counter is at a value greater than 1, the change of the playing speed cannot be taken into consideration as long as the decoded frames waiting to be played at the time of modification of the playing speed have not yet been played.